﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace GENERIC.Respository.Interfaces
{
    /// <summary>
    /// Interface Iset
    /// </summary>
    /// <typeparam name="TEntity">Type de l'entité</typeparam>
    public interface IGENERICSet<TEntity> where TEntity : class, new()
    {
        /// <summary>
        /// Insérer une entité
        /// </summary>
        /// <param name="entity">Entité à insérer</param>
        void Insert(TEntity entity);
        /// <summary>
        /// Mettre à jour une entité
        /// </summary>
        /// <param name="entity">Entité à mettre à jour</param>
        void Update(TEntity entity);
        /// <summary>
        /// Suppression d'une entité
        /// </summary>
        /// <param name="entity">Entité à supprimer</param>
        void Delete(TEntity entity);
        /// <summary>
        /// Récuper la requête
        /// </summary>
        /// <returns>Entités</returns>
        IQueryable<TEntity> Get();
    }
}
